Client-Server Model
The Client-server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters called clients. In the client-server architecture, when the client computer sends a request for data to the server through the internet, the server accepts the requested process and delivers the data packets requested back to the client. Clients do not share any of their resources. Examples of the Client-Server Model are Email, World Wide Web, etc....
read more
Post/Redirect/Get (PRG) Design Pattern
Prerequisite- HTTP Protocol, GET and POST requests using Python...
read more
10 Microservices Design Principles That Every Developer Should Know
Ever wondered, how big applications like Amazon, Netflix, etc. never face any major faults and are always up and running? Is it possible for such big and complex pieces of code to always be error and exceptions free? Well, that’s very hard to believe, right? But the answer is NO. They do face faults but are always running and serving millions of users without the services getting down. And that’s where Microservices come to play....
read more
Coupling and Cohesion – Software Engineering
The purpose of the Design phase in the Software Development Life Cycle is to produce a solution to a problem given in the SRS(Software Requirement Specification) document. The output of the design phase is a Software Design Document (SDD)....
read more
Memento Method – Python Design Patterns
Memento Method is a Behavioral Design pattern which provides the ability to restore an object to its previous state. Without revealing the details of concrete implementations, it allows you to save and restore the previous version of the object. It tries not to disturb the encapsulation of the code and allows you to capture and externalize an object’s internal state....
read more
Patterns and Frameworks in OOAD
Patterns and Frameworks in Object-Oriented Analysis and Design (OOAD) are like building blocks for making strong and reliable software. This article delves at, exploring important patterns and frameworks that help make software development easier and faster. We talk about both the classic design patterns and newer frameworks that help organize software better. Understanding these patterns and frameworks helps developers create software that can handle complexity, predict problems, and last a long time without getting outdated....
read more
What is API Gateway | System Design ?
An API Gateway is a key component in system design, particularly in microservices architectures and modern web applications. It serves as a centralized entry point for managing and routing requests from clients to the appropriate microservices or backend services within a system....
read more
Indexing in System Design
System design is a complicated system that involves developing efficient and scalable solutions to satisfy the demands of modern applications. One crucial thing of system design is indexing, a way used to optimize information retrieval operations. In this article, we will delve into the idea of indexing, its significance, numerous types, and best practices for implementing indexing in system layout....
read more
Difference Between Architectural Style, Architectural Patterns and Design Patterns
Many software professionals think that architectural styles and patterns are the same. Sadly, some of the software developers don’t understand the difference between architectural patterns and design patterns. In this article, we’re going to summarize the differences between them....
read more
Builder Pattern | C++ Design Patterns
The builder pattern is defined as a creational design pattern that separates the construction of a complex object from its representation, allowing us to create different representations of an object using the same construction process. It’s beneficial when an object has many optional properties or configurations....
read more
Abstract Factory Pattern | C++ Design Patterns
Abstract Factory Pattern is a creational design pattern used in object-oriented programming. It provides an interface for creating families of related or dependent objects without specifying their concrete classes. This pattern is a way to encapsulate the creation of objects and ensure that they are compatible and properly configured. In this article, we’ll look at the Abstract Factory Pattern in detail with an example...
read more
Guide for Designing Highly Scalable Systems
Scalable systems are crucial for meeting growing demands. Designing them requires careful planning and an understanding of scalability principles. This article offers insights into architectural patterns, operational best practices, real-world examples, and challenges. Whether you’re a developer or IT professional, this article provides you with the knowledge to build systems that can grow with your business needs...
read more